﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using BE;
using DAL;

namespace BL
{
    public class Caja_BL
    {
        Caja caja = null;

        public Caja_BL() { 
        }

        public Caja_BL(Caja caja_formulario)
        {
            caja = caja_formulario;
        }

        public DataTable Listado(String Codigo, String Nombre)
        {
            try
            {
                Caja_DAL dal = new Caja_DAL();
                return dal.listado(Codigo, Nombre);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public DataTable ListadoCajaCombo(String idCaja)
        {
            try
            {
                Caja_DAL dal = new Caja_DAL();
                return dal.listadoCajaCombo(idCaja);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public Caja obtenerCajaPorId(String ID)
        {
            try
            {
                Caja_DAL dal = new Caja_DAL();
                return dal.obtenerCajaPorId(ID);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Eliminar(String ID)
        {
            try
            {
                Caja_DAL dal = new Caja_DAL();
                dal.Eliminar(ID);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

        public void Insertar()
        {
            try
            {
                caja.FechaCreacion = DateTime.Now;
                caja.FechaModificacion = DateTime.Now;
                Caja_DAL dal = new Caja_DAL();
                dal.Insertar(caja);
            }
            catch (Exception ex)
            {

                throw ex.InnerException;
            }
        }

        public void Actualizar()
        {
            try
            {
                caja.FechaModificacion = DateTime.Now;
                Caja_DAL dal = new Caja_DAL();
                dal.Actualizar(caja);
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }

        public List<Caja> listaCajas()
        {
            Caja_DAL obj = new Caja_DAL();
            List<Caja> dato = null;
            try
            {
                dato = obj.listaCajas();

            }
            catch (Exception ex)
            {
                throw ex;

            }
            return dato;
        }
    }
}
